/**
 * <strong>Title : ShutDownCauseService.java<br>
 * </strong> <strong>Package : cn.b.sky.mes.em.service<br>
 * </strong> <strong>Description : </strong>@类注释说明写在此处@<br>
 * <strong>Create on : 2015年11月4日 下午2:22:43<br>
 * </strong>
 * <p>
 * @author dapeng.li<br>
 * @version <strong>v1.0.0</strong><br>
 * <br>
 *          <strong>修改历史:</strong><br>
 *          修改人 | 修改日期 | 修改描述<br>
 *          -------------------------------------------<br>
 * <br>
 * <br>
 */
package cn.b.sky.mes.em.service;

import java.util.List;

import cn.b.sky.mes.em.model.ShutDownCause;
import cn.b.sky.mes.em.model.condition.ShutDownCauseCondition;
import cn.b.sky.common.model.BatchJobReport;

/**
 * <strong>Title : ShutDownCauseService.java<br></strong>
 * <strong>Package : cn.b.sky.mes.em.service<br></strong>
 * <strong>Description : </strong>停机原因代码业务接口<br> 
 * <strong>Create on : 2015年11月4日 下午2:22:43<br></strong>
 * <p>
 * @author dapeng.li<br>
 * @version <strong>v1.0.0</strong><br>
 * <br>
 * <strong>修改历史:</strong><br>
 * 修改人 | 修改日期 | 修改描述<br>
 * -------------------------------------------<br>
 * <br>
 * <br>
 */
public interface ShutDownCauseService {
  /**
   * 
   * <strong>Title : selectShutDownCauseListByCondition<br></strong>
   * <strong>Description : </strong>根据查询条件获得停机原因列表<br> 
   * <strong>Create on : 2015年11月4日 下午2:29:44<br></strong>
   * <p>
   * @param condition
   * @return
   * List<ShutDownCause>
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<ShutDownCause> selectShutDownCauseListByCondition(ShutDownCauseCondition condition);

  /**
   * 
   * <strong>Title : selectShutDownCauseCount<br></strong>
   * <strong>Description : </strong>获得停机原因总数<br> 
   * <strong>Create on : 2015年11月4日 下午2:30:48<br></strong>
   * <p>
   * @param condition
   * @return
   * int
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  int selectShutDownCauseCount(ShutDownCauseCondition condition);

  /**
   * 
   * <strong>Title : updateShutDownCause<br></strong>
   * <strong>Description : </strong>更新停机原因<br> 
   * <strong>Create on : 2015年11月4日 下午2:31:25<br></strong>
   * <p>
   * @param shutDownCause
   * void
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */

  void updateShutDownCause(ShutDownCause shutDownCause);

  /**
   * 
   * <strong>Title : saveShutDownCause<br></strong>
   * <strong>Description : </strong>新增停机原因<br> 
   * <strong>Create on : 2015年11月4日 下午2:31:54<br></strong>
   * <p>
   * @param shutDownCause
   * void
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void saveShutDownCause(ShutDownCause shutDownCause);

  /**
   * 
   * <strong>Title : deleteShutDownCause<br></strong>
   * <strong>Description : </strong>删除停机原因<br> 
   * <strong>Create on : 2015年11月4日 下午2:32:14<br></strong>
   * <p>
   * @param ShutDownCauseController
   * @return
   * BatchJobReport
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  BatchJobReport deleteShutDownCause(String shutDownCauseCode, String siteCode);

  /**
   * 
   * <strong>Title : getShutDownCause<br></strong>
   * <strong>Description : </strong>根据causecode获得停机原因实体<br> 
   * <strong>Create on : 2015年11月4日 下午2:45:43<br></strong>
   * <p>
   * @param causeCode
   * @param siteCode
   * @return
   * ShutDownCause
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  ShutDownCause getShutDownCause(String causeCode, String siteCode);

  /**
   * 
   * <strong>Title : selectShutDownCauseForSuggest<br></strong>
   * <strong>Description : </strong>停机原因搜索建议<br> 
   * <strong>Create on : 2016年4月11日 下午7:58:13<br></strong>
   * <p>
   * @param condition
   * @return
   * List<ShutDownCause>
   * @throws 
   * @author zhaoxin01<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<ShutDownCause> selectShutDownCauseForSuggest(ShutDownCauseCondition condition);

}
